Parallel processing redundancy scheme for faster access times and lower die area

ABSTRACT

A parallel processing redundancy memory circuit. The circuit includes parallel data paths for regular memory columns and redundant columns. An input/output buffer is coupled to the parallel paths and receives I/O selection bits. In operation, address drivers simultaneously access both the regular memory and the redundant columns. The input/output buffer then selects the appropriate data path, as determined by the I/O selection bits, for writing or reading data.

This application is a continuation of U.S. patent application Ser. No. 08/387,018, filed Feb. 10, 1995, now U.S. Pat. No. 5,627,786.

FIELD OF THE INVENTION

The present invention relates generally to semiconductor circuits and packaged integrated circuits, such as memory chips, data registers and the like. More particularly, the present invention relates to memory circuits, such as flash EPROMS, which use redundant storage elements.

BACKGROUND OF THE INVENTION

Redundancy and its implementation has been one of the more significant challenges in memory chips. In many applications, the effects of a redundancy implementation on the die area as well as the access time are important aspects of a memory, especially in larger and more dense memory chips.

In some redundancy approaches, the addresses are received and compared in parallel with selection of the decoders. Typically, if it is determined that the address is a repaired location, then the redundancy circuit is engaged. The redundancy circuit sends a signal to the regular decoder to disengage or deselect the regular array, and then select the redundant element. Detection of a match on the incoming address for a redundant element usually takes approximately 5 to 10 nanoseconds, during which time the decoders start selecting the proper memory elements. On very high density parts, the decoder lines have tens of picofarad capacitive load and thus require very large drivers. As such, the deselect signal is usually not near the last stages of the decoder due to the area consumed by the large number of decoder drivers.

With such large capacitive loads, the last stage requires approximately 5 nanoseconds to select and deselect. After the 5 to 10 nanoseconds of delay for matching detection circuit, the redundancy circuit will send a signal to instruct the regular decoders to deselect. Because the deselection stage is not the last stage of the decoder, it will take additional time for the regular decoder to turn off. If a redundant element is accessed, it will be generally slower than the actual element by approximately 10 to 20 nanoseconds. This accounts for a significant speed loss. With very large density memories, 50% to 80% of the dies that pass have some redundant elements.

Another feature that is used in some redundant schemes is the replacement of the entire byte (or word) if a bit is found to be defective within that word. If eight redundant columns were to be replaceable, one must design 64 columns in the array. On a four-megabit flash circuit, for example, this amounts to approximately five mils more on one dimension of the chip, which translates to many thousands of mils of additional square area.

Accordingly, there is a need for a memory circuit with a redundancy scheme that improves upon die area and access speed.

SUMMARY OF THE INVENTION

Generally, the present invention provides an improved redundancy scheme within a memory array by using a parallel path for redundant elements of a memory array. In one embodiment, the present invention comprises: a memory having a preselected number of rows and columns, and one or more redundant storage elements, each having addresses associated therewith; address lines coupled to transmit address signals to the rows and columns and to the one or more redundant storage elements; a first data bus coupled to the columns; a redundant data bus coupled to the one or more redundant storage elements; and an access buffer having a first input coupled to the first data bus, a second input coupled to the redundant data bus, a control terminal coupled to receive a signal, and an output, the access buffer selectively coupling the first data bus or the redundant data bus to the output as determined by the signal

In yet another embodiment, the present invention comprises a method for parallel processing redundancy in a memory which includes a preselected number of rows and columns, and one or more redundant storage elements, each having addresses associated therewith; address lines coupled to transmit address signals to the rows and columns and to the one or more redundant storage elements, the method comprising the steps of: receiving a signal; simultaneously receiving first data from a first data bus coupled to the rows and columns, and receiving second data from a second data bus coupled to the redundant storage elements; and selecting data either from the first data bus or from the second data bus, as determined by the signal.

The above summary of the present invention is not intended to present each embodiment or every aspect of the present invention. This is the purpose of the figures and the associated description which follow.

BRIEF DESCRIPTION OF THE DRAWINGS

Other aspects and advantages of the present invention will become apparent upon reading the following detailed description and upon reference to the drawings in which:

FIG. 1 is a block diagram of a memory architecture in accordance with the principles of the present invention;

FIG. 2 is a block diagram of circuitry for generating redundant I/O selection signals;

FIG. 3 is a more detailed block diagram of input/output circuitry for interfacing with the memory architecture shown in FIG. 1; and

FIG. 4 is a block diagram of an exemplary computer that may incorporate the present invention.

While the invention is susceptible to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawing and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular embodiment described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.

DETAILED DESCRIPTION OF THE DRAWINGS

The present invention has a wide variety of applications in memory circuits. It provides for a memory architecture with parallel redundancy in order to eliminate the delay caused by selecting a defective column and subsequently deselecting the column. The present invention instead accesses in parallel a memory column and a corresponding redundant memory column, and then determines at an input/output buffer from which column to select the data. The present invention is particularly useful with memories that use floating gate transistors, and in particular with, for example, flash EPROMs, EEPROMs, SRAMs, and DRAMs.

In addition, the present invention preferably replaces a defective memory column with a redundant column, instead of replacing an entire byte, as is found in some redundancy schemes. This is achieved by adding four bits, for example, to the address field in order to specify which one of sixteen columns is defective so that only the specified column is replaced. Replacing only one column, as opposed to an entire byte, also results in a savings in terms of die area by significantly reducing the amount of required die area.

FIG. 1 is a block diagram of an exemplary circuit for implementing the present invention. The circuit typically includes a plurality of upper memory storage elements 10-13 and associated redundant columns 18-21, and lower memory storage elements 14-17 and associated redundant columns 22-25. As is known in the art, the redundant columns are used to replace defective columns within the memory array.

A plurality of upper select lines 34 are associated with a decoder (not shown) for decoding addresses and selecting particular memory rows and columns, and redundant columns, in the upper part of the memory array. A plurality of lower select lines 35 are associated with a decoder (not shown) for decoding addresses and selecting particular memory rows and columns, and redundant columns, in the lower part of the memory array. Memory address decoding and selection is known in the art.

The columns within blocks 10-17 are coupled to a data bus 36 for use in writing data to and reading data from the memory. The data bus 36 is coupled to sense amplifiers 26A-26N (one sense amplifier per line), which operate in a conventional manner to receive and amplify data signals from the memory. The sense amplifiers 26A-26N are coupled to input/output buffers 33A-33N (one input/output buffer per line). Input drivers 28A-28N (one driver per line) are coupled to the data bus 36 and the input/output buffers 33A-33N, and operate in a conventional manner in order to receive data and write the data to memory storage elements in the columns within blocks 10-17.

The redundant columns 18-25 are coupled to a redundant data bus 37 for use in writing data to and reading data from the redundant columns. The data bus 37 is coupled to a redundant sense amplifier 30, which operates in a conventional manner to receive and amplify data signals from the redundant columns 18-25. A redundant input drivers 40 is coupled to the redundant data bus 37 and the input/output buffers 33A-33N, and operates in a conventional manner in order to receive data in buffers 33A-33N, and write the data to memory storage elements within the redundant columns 18-25.

The input/output buffers 33A-33N operate as multiplexers. Redundant I/O (RIO) selection lines 38 transmit I/O selection bits to control terminals of the input/output buffers 33A-33N so that the buffers selectively couple the data bus 36 and redundant data bus 37 to output terminals depending upon the content of the I/O selection bits. FIG. 2 is a block diagram of circuitry for generating the redundant I/O selection signals. In FIG. 2, circuitry 41 generates address signals for columns within the memory, and circuitry 42 generates signals specifying defective columns. For example, with a sixteen-bit wide field, circuitry 42 requires four bits stored within the nonvolatile pointers in order to specify which one of the sixteen columns within a particular field is defective. FIG. 3 is a more detailed block diagram of circuitry for interfacing the memory.

In a read operation, address comparator circuitry which generates the I/O bits evaluates whether a redundant column must be used. This evaluation typically requires approximately 5 to 10 nanoseconds. At the same time, the decoding and selection circuity has selected the appropriate column in the regular memory columns within blocks 10-17. If the comparator circuitry determines that one of the redundant columns 18-25 must be used in place of a regular memory column, the circuit typically does not disable the regular decoders. The decoder for the regular memory columns within blocks 10-17 is typically still needed, since seven out of eight columns will use that decoder.

Therefore, the regular memory columns within blocks 10-17 execute a read operation through the sense amplifiers 26A-26N, and the redundant columns 18-25 execute a read operation through the redundant sense amplifier 30. At the same time that the address comparator was evaluating whether a redundant address matches the incoming address, the redundant I/O identifier bits map which one of the I/Os is defective. With the present invention, it is only after the sense amplifiers 26A-26N and 30 that the circuit uses the information of whether there is a redundant element selected. At that time, if a redundant element is selected, the input/output buffers 33A-33N will select the result of the redundant sense amplifier 30 instead of the sense amplifiers 26A-26N. Accordingly, an advantage of the present invention is that it eliminates the delay resulting from the deselection of the regular path and subsequent selection of the redundant path, as is found in some redundant memory scheme.

The present invention improves upon access time. Since the amount of the time it takes for the reading to be completed is usually 80% of the access time, and since the comparison of the address and the I/O bit field occurs in parallel, there will not be any access time penalty as a result of the comparison delay. The only additional delay is a multiplexing of the data at the output of the sense amplifiers, which is equivalent to one gate delay. That delay is usually less than a nanosecond. Most complex chips require a multiplexer at the output of the sense amplifier in order to transmit, for example, electronic identifier codes and internal status codes. As a result, the delay resulting from the multiplexer is typically already included in the access time.

For writing the data, the same procedure is repeated but in the opposite direction. The write data is usually stored in a latch. It is typically a considerable amount of time later that the circuit determines whether the data is to be routed to a regular or a redundant column. The delay for address matching is thus not a factor. If one of the redundant columns is to be used, as determined from the I/O bits, the circuit then selects from the input/output buffers 33A-33N the redundant data that is used by the input driver 40.

The circuit preferably disables a regular driver for a defective column when writing to the defective column using a redundant driver. This improves circuit performance. If a regular driver for a defective column were selected, it is possible that the driver would draw a lot of current due to a short, causing it to "pull down" the program voltage source. Since all other drivers are also coupled to the program voltage source, this would cause those bits to receive a decreased level of the program voltage source, which could disturb the write operation of those bits. By disabling the regular driver to the defective column, the circuit avoids this undesirable situation.

Otherwise, if a redundant column is not to be used, the circuit selects with the input/output buffers 33A-33N the data input drivers 28A-28N.

In summary, the present invention significantly improves access time by using parallel paths to redundant memory elements. It also saves chip area by only replacing a defective column with one redundant column instead of replacing an entire byte (eight columns) or word (16 columns).

FIG. 4 is a block diagram of an exemplary computer 45 that may incorporate the present invention. The computer 45 includes a microprocessor 46 and corresponding clock 48. The microprocessor 46 contains the central processing unit (CPU) and associated control circuitry. The microprocessor 46 is connected to a motherboard 49. An I/O interface module 47 is connected to the motherboard 49 and interfaces the microprocessor 46 with peripheral devices such as a monitor and printer. The motherboard 49 also contains a plurality of memory modules for storing data, such as single in-line memory modules (SIMMs) 50A-50N. The motherboard 49 is typically implemented with a printed circuit board, and the SIMMs 50A-50N are typically implemented with integrated circuit chips which "plug into" the motherboard 49. A nonvolatile memory is usually used on the motherboard 49, SIMMs 50A-50N, or through the I/O interface module 47.

The foregoing description, which has been disclosed by way of the above examples and discussion, addresses preferred embodiments of the present invention encompassing the principles of the present invention. The embodiments may be changed, modified and/or implemented using various circuit types and arrangements. Those skilled in the art will readily recognize that these and various other modifications and changes may be made to the present invention without strictly following the exemplary embodiments and applications illustrated and described herein, without departing from the true spirit and scope of the present invention which is set forth in the following claims. 

What is claimed is:
 1. A memory circuit with parallel processing redundancy, comprising:a memory having addressable non-redundant storage elements, and redundant storage elements; first means for addressing the non-redundant storage elements and the redundant storage elements in parallel; second means for decoding address signals and generating a redundant match signal if the addressed non-redundant storage elements are defective; a first data bus coupled to the columns of non-redundant storage elements; a redundant data bus coupled to the redundant storage elements; and a buffer having a first input coupled to the first data bus, a second input coupled to the redundant data bus, a control terminal coupled to receive the redundant match signal, and an output, the buffer selectively coupling the first data bus or the redundant data bus to the output as determined by the redundant match signal.
 2. The memory circuit of claim 1 herein:the first means comprises address inputs for receiving address signals; and the second means comprises a comparator for comparing the received address signals with non-volatile storage elements.
 3. The memory circuit of claim 2 wherein the comparator comprises:a plurality of selectively programmed non-volatile storage elements; a plurality of logic gates coupled to the non-volatile storage elements and the address inputs for providing the redundant match signal on an output node.
 4. The memory circuit of claim 3 further comprising:a third means for identifying an external data communication connection corresponding to a redundant storage element.
 5. The memory circuit of claim 4 wherein the third means comprises:a plurality of non-volatile pointers; and a second plurality of logic gates coupled to the plurality of non-volatile pointers and the output node to receive the redundant match signal, and provide output signals for identifying external data communication connections.
 6. The memory circuit of claim 1 further comprising:a third means for identifying an external data communication connection corresponding to a redundant storage element.
 7. The memory circuit of claim 1 wherein the buffer comprises a multiplex circuit for coupling either the first data bus or the redundant data bus to external data communication nodes.
 8. A memory device comprising:an array of primary cells, the array being arranged in addressable rows and columns; an array of redundant memory cells arranged in rows and columns; address input nodes for receiving externally provided address signals and identifying memory cells of the array of primary memory cells; second decode circuitry for decoding the received address signals and providing a redundant match signal indication that the identified memory cells of the array of primary memory cells are defective, the second decode circuitry comprising a plurality of logic gates coupled to receive the address signals and to receive data from non-volatile storage elements, an output of the second decode circuitry; access circuitry for simultaneously accessing the identified primary and redundant memory cells during a data read operation and coupling to respective primary and redundant data buses; and switching circuitry for coupling either the primary or redundant data bus to an external data communication node.
 9. The memory device of claim 8 wherein the switching circuitry comprises a first multiplex circuit coupled between the primary and redundant data buses and an output driver circuit.
 10. The memory device of claim 8 further comprising a second multiplex circuit coupled between the redundant data bus and an input data latch circuit.
 11. The memory device of claim 8 further comprising:a third decode circuitry for providing an output which identifies an input/output communication connection corresponding to a column of memory cells containing the defective memory cells.
 12. The memory device of claim 10 where the switching circuit responds to the match signal and the output of the third decode circuitry.
 13. A method of retrieving data stored in a memory device, the method comprising the steps of:receiving an address of a defective memory element; decoding the address to identify a redundant element; simultaneously accessing the defective memory element and the redundant element; coupling the defective memory element to a first data bus; coupling data stored in the redundant element to a second data bus; and coupling the second data bus to an external communication node.
 14. The method of claim 13 wherein the defective memory element is one of a plurality of memory array columns, and the redundant element is a column of redundant memory cells.
 15. The method of claim 13 wherein the decoding step comprises identifying an external communication node corresponding to the defective memory column.
 16. A method of retrieving data stored in a memory device, the method comprising the steps of:receiving an address of a column of primary memory elements that is defective; if the column of primary memory elements is defective, simultaneously accessing a column of redundant memory elements while accessing the column of primary memory elements; coupling the column of primary memory elements to a first data bus; coupling the column of redundant memory elements to a second data bus; and multiplexing the second data bus to an external communication node.
 17. A memory circuit with parallel processing redundancy, comprising:a memory having multiple memory array blocks, each memory array block having rows and columns of addressable non-redundant storage elements, and one or more columns of addressable redundant storage elements; address lines coupled to receive address signals identifying the non-redundant storage elements; a first data bus coupled to the columns of non-redundant storage elements in each of the memory arrays; a redundant data bus coupled to the one or more redundant storage elements in each of the memory arrays; an access buffer having a first input coupled to the first data bus, a second input coupled to the redundant data bus, a control terminal coupled to receive a control signal, and an output, the access buffer selectively coupling the first data bus or the redundant data bus to the output as determined by the control signal; a first sense amplifier circuit coupled between the first data bus and the access buffer; a second sense amplifier circuit coupled between the first data bus and the access buffer; and decode circuitry coupled to the address lines for decoding and determining if an addressed non-redundant storage element is defective, and generating the control signal; whereby during a read operation, the address signals are decoded by the decode circuitry during the same time period that both a defective column of non-redundant storage elements and a column of redundant storage elements are accessed in parallel, and data stored in the defective column and the redundant column are amplified by the first and second sense amplifiers and coupled to the access buffer.
 18. The memory circuit of claim 17 wherein the access buffer comprises a plurality of access buffers, each of the plurality of access buffers receiving one bit of data from the first data bus and one bit of data from the redundant data bus.
 19. The memory circuit of claim 17, further comprising:a plurality of first data input drivers coupled between the access buffer and the first data bus, each of the plurality of first data input drivers transmitting at least one bit of data to the first data bus; and a redundant data input driver coupled between the access buffer and the redundant data bus, the access buffer selectively coupling the first data input drivers to the first data bus or the redundant data input driver to the redundant data bus as determined by the signal.
 20. The memory circuit of claim 19, iurther comprising a circuit for disabling one of the plurality of first data input drivers if the one driver is coupled to transmit a bit of the data to a defective column within the columns.
 21. The memory circuit of claim 17 wherein the non-redundant and redundant storage elements are implemented with floating gate transistors.
 22. The memory circuit of claim 17 wherein the memory is a flash EPROM.
 23. The memory circuit of claim 17 wherein the memory is an EEPROM.
 24. The memory circuit of claim 17 wherein the memory is an SRAM.
 25. The memory circuit of claim 17 wherein the memory is a DRAM.
 26. The memory circuit of claim 17 further comprising:a processor connected to the memory; a clock circuit connected to the processor; and a module coupled to the processor for interfacing the processor with peripheral devices.
 27. A method of reducing access time in a memory device, the method comprising the steps of:initiating a read operation to read data stored in the memory device; receiving an address signal identifying a column of memory elements; simultaneously accessing both the addressed column of memory elements and a redundant column of memory elements; amplifying data stored in both the addressed column of memory elements and the redundant column of memory elements; analyzing the received address signal during the steps of accessing and amplifying to determine if the addressed column of memory elements is defective; and selecting the amplified data from either the addressed column of memory elements or the redundant column of memory elements based upon the analysis of the address signal.
 28. The method of claim 27 further comprising the steps of:initiating a write operation; receiving a second address signal identifying a second column of memory elements; receiving data to be stored in the second column of memory elements; latching the received data; analyzing the received address signal while the data is latched to determine if the second column of memory elements is defective; and either coupling the latched data to a redundant column driver circuit and disabling a column driver circuit coupled to the second column if the second column of memory elements is defective, or coupling the latched data to the column driver circuit coupled to the second column if the second column of memory elements is not defective. 